package com.cloud.config.mybatis.base.service.impl;

import com.baomidou.mybatisplus.core.metadata.IPage;
import com.baomidou.mybatisplus.extension.plugins.pagination.Page;
import com.baomidou.mybatisplus.extension.service.impl.ServiceImpl;
import com.cloud.config.mybatis.base.dto.PageDTO;
import com.cloud.config.mybatis.base.mapper.SuperMapper;
import com.cloud.config.mybatis.base.service.IBaseService;
import com.cloud.config.mybatis.base.vo.PageVO;

/**
 * @author wangjian
 * @version 1.0.0
 * @create 2020年10月15日17:56
 */
public abstract class BaseServiceImpl<M extends SuperMapper<T>, T> extends ServiceImpl<M, T> implements IBaseService<T> {

    @Override
    public PageVO<T> pageList(PageDTO pageDTO) {
        Page<T> page = new Page<T>();
        // 设置当前页码
        page.setCurrent(pageDTO.getPage());
        // 设置页大小
        page.setSize(pageDTO.getLimit());
        IPage<T> iPage = this.baseMapper.pageList(page, pageDTO);
        return new PageVO<T>(iPage);
    }
}
